Next: Virtual Dired, Previous: Local Variables, Up: Top [Contents][Index]
Based upon the name of a file, Dired tries to guess what shell command you might want to apply to it. For example, if you have point on a file named foo.tar and you press !, Dired will guess you want to ‘tar xvf’ it and suggest that as the default shell command.
The default is mentioned in brackets and you can type M-n to get the default into the minibuffer and then edit it, e.g., to change ‘tar xvf’ to ‘tar tvf’. If there are several commands for a given file, e.g., ‘xtex’ and ‘dvips’ for a .dvi file, you can type M-n several times to see each of the matching commands.
Dired only tries to guess a command for a single file, never for a list of marked files.
dired-guess-shell-alist-defaultPredefined rules for shell commands. Set this to
nil to turn guessing off. The elements of
dired-guess-shell-alist-user (defined by the
user) will override these rules.
dired-guess-shell-alist-userIf non-nil, a user-defined alist of file
regexps and their suggested commands. These rules take
precedence over the predefined rules in the variable
dired-guess-shell-alist-default (to which they
are prepended) when dired-do-shell-command is
run).
Each element of the alist looks like
(regexp command…)
where each command can either be a string or a Lisp expression that evaluates to a string. If several commands are given, all of them will temporarily be pushed onto the history.
If ‘*’ in the shell command, that means to substitute the file name.
You can set this variable in your ~/.emacs. For example, to add rules for ‘.foo’ and ‘.bar’ file extensions, write
(setq dired-guess-shell-alist-user
(list
(list "\\.foo$" "foo-command");; fixed rule
;; possibly more rules...
(list "\\.bar$";; rule with condition test
'(if condition
"bar-command-1"
"bar-command-2"))))
This will override any predefined rules for the same extensions.
dired-guess-shell-case-fold-searchDefault: t
Non-nil means
dired-guess-shell-alist-default and
dired-guess-shell-alist-user are matched
case-insensitively.
dired-guess-shell-gnutarDefault: nil
If non-nil, this is the name of the GNU Tar
executable (e.g., ‘tar’ or
‘gnutar’). GNU Tar’s
‘z’ switch is used for compressed
tar files. If you don’t have GNU tar, set this to
nil: a pipe using
‘zcat’ is then used.
dired-guess-shell-gzip-quietDefault: t
A non-nil value means that
‘-q’ is passed to gzip
overriding a verbose option in the GZIP
environment variable.
dired-guess-shell-znew-switches nilDefault: nil
A string of switches passed to znew. An
example is ‘-K’ which will make
znew keep a .Z file when it is
smaller than the .gz file.
dired-shell-command-history nilHistory list for commands that read dired-shell commands.
Next: Virtual Dired, Previous: Local Variables, Up: Top [Contents][Index]